Micron Document
`:top
Als `!Byte Order Mark`! (`!BOM`!; deutsch: „Byte-Reihenfolge-Markierung“) wird eine charakteristische Bytefolge am Anfang eines `F33f`_`[Datenstroms`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Datenstrom]`_`f bezeichnet, die das `F33f`_`[Unicode`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Unicode]`_`f-`F33f`_`[Zeichen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Schriftzeichen]`_`f U+FEFF (`F33f`_`[englisch`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Englische_Sprache]`_`f zero width no-break space) kodiert. Diese Bytefolge dient als Kennung zur Definition der `F33f`_`[Byte-Reihenfolge`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Byte-Reihenfolge]`_`f und Kodierungsform in `F33f`_`[UCS`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Universal_Coded_Character_Set]`_`f/Unicode-`F33f`_`[Zeichenketten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Zeichenkette]`_`f, insbesondere `F33f`_`[Textdateien`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Textdatei]`_`f.

>>Contents

• `F0af`_`[In UTF-16 und UTF-32`#in-utf-16-und-utf-32]`_`f
• `F0af`_`[In UTF-8`#in-utf-8]`_`f
• `F0af`_`[Weiteres`#weiteres]`_`f
• `F0af`_`[Tabellarische Übersicht`#tabellarische-bersicht]`_`f
• `F0af`_`[Siehe auch`#siehe-auch]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f

-─

>>In UTF-16 und UTF-32

Bei den `F33f`_`[Kodierungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Zeichenkodierung]`_`f `F33f`_`[UTF-16`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=UTF-16]`_`f und `F33f`_`[UTF-32`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=UTF-32]`_`f `*muss`* die Byte-Reihenfolge angegeben werden, da hier die einzelnen Zeichen jeweils in mindestens 16 oder 32 `F33f`_`[Bit`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Bit]`_`f großen Werten kodiert sind und damit mehrere `F33f`_`[Bytes`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Byte]`_`f benötigen (UTF-16: 2 Bytes, UTF-32: 4 Bytes). Das `*Byte Order Mark`* kennzeichnet dabei, in welcher Reihenfolge die Bytes auszuwerten sind. Diese Markierung wird immer dann besonders wichtig, wenn Daten zwischen unterschiedlichen Systemen ausgetauscht werden.

In UTF-16 besteht das BOM

• in `F33f`_`[Big-Endian`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Byte-Reihenfolge]`_`f-`F33f`_`[Notation`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Notation]`_`f aus der Zweibyte-Sequenz `B100`F9d9FE FF`f`b
• in der `F33f`_`[Little-Endian`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Byte-Reihenfolge]`_`f-Notation umgekehrt aus `B100`F9d9FF FE`f`b.

In UTF-32 besteht das BOM

• in Big-Endian-Notation aus der Sequenz `B100`F9d900 00 FE FF`f`b
• in der Little-Endian-Notation aus `B100`F9d9FF FE 00 00`f`b.

Da das Zeichen U+FFFE als ungültig definiert ist, kann durch die Reihenfolge der ersten Bytes eindeutig die Auswertungs-Reihenfolge für alle folgenden Bytes festgestellt werden.

>>In UTF-8

Die `F33f`_`[UTF-8`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=UTF-8]`_`f-Kodierung des BOM besteht aus der Bytesequenz `B100`F9d9EF BB BF`f`b, die in nicht UTF-8-fähigen `F33f`_`[Texteditoren`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Texteditor]`_`f und `F33f`_`[Browsern`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Webbrowser]`_`f meist als `F33f`_`[ISO-8859-1`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=ISO_8859-1]`_`f-Zeichen `B100`F9d9`f`b erscheinen. Bei UTF-8 stellt sich das Problem der Byte-Reihenfolge zwar nicht, doch ein BOM am `F33f`_`[String`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Zeichenkette]`_`f- oder Dateianfang ist erlaubt, um die Verwendung von UTF-8 als Kodierung zu kennzeichnen.

Eine sichere Unterscheidung zwischen UTF-8 und den `F33f`_`[ISO-8859`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=ISO_8859]`_`f-Zeichensätzen ist durch die Verwendung eines BOM zwar nicht gewährleistet, da in den 8-Bit-Zeichensätzen alle Bytesequenzen erlaubt sind, auch die UTF-8-Kodierung des BOM; wenn aber die Alternative speziell UTF-8 oder ISO 8859-1 ist, dann ist die `F33f`_`[pragmatische`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Pragmatisch]`_`f Annahme durchaus üblich, dass die Zeichenfolge `B100`F9d9`f`b `*nicht`* gemeint ist, und daraus folgend, dass eine UTF-8-Kodierung vorliegt.

In `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Programmiersprache)]`_`f wird beim Einlesen von UTF-8-Texten das Byte Order Mark `*nicht`* automatisch erkannt. Es ist Sache der Anwendungssoftware, das daraus generierte Zeichen `B100`F9d90xFEFF`f`b bei Bedarf zu entfernen.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f]

>>Weiteres

Wird ein `*Byte Order Mark`* verwendet, so kann es zu Problemen mit Programmen kommen, die ein BOM nicht erwarten oder nicht kennen:

• in `F33f`_`[Unix-artigen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Unix-Derivat]`_`f Umgebungen wird in `F33f`_`[Skriptdateien`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Skriptdatei]`_`f oft der `F33f`_`[Shebang`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Shebang]`_`f-Mechanismus verwendet, bei dem die `F33f`_`[Zeichenfolge`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Zeichenfolge]`_`f „#!“ ebenfalls am Dateianfang stehen muss; steht hier stattdessen ein unerwartetes BOM, so gibt es Probleme.
• `F33f`_`[Compiler`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Compiler]`_`f wie z. B. `F33f`_`[gcc`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=GNU_Compiler_Collection]`_`f (vor Version 4.4`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f]) melden bei Verwendung eines BOM überschüssige Zeichen am Dateianfang
• in `F33f`_`[PHP`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=PHP]`_`f mit Standardeinstellungen`:cite-ref-3[`F5bf`_`[3`#cite-note-3]`_`f] führt das BOM zur Ausgabe von Zeichen an den Browser, so dass ohne „output buffering“ keine `F33f`_`[HTTP-Header`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=HTTP-Header]`_`f mehr geändert werden können.

>>Tabellarische Übersicht

`t
| Kodierung | hexadezimale Darstellung | dezimale Darstellung | Darstellung nach Windows-1252 |
|---|---|---|---|
| UTF-8 | EF BB BF [ 4 ] | 239 187 191 |  |
| UTF-16 ( BE ) | FE FF | 254 255 | þÿ |
| UTF-16 ( LE ) | FF FE | 255 254 | ÿþ |
| UTF-32 (BE) | 00 00 FE FF | 0 0 254 255 | ␀␀þÿ |
| UTF-32 (LE) | FF FE 00 00 | 255 254 0 0 | ÿþ␀␀ |
| UTF-7 | 2B 2F 76 und ein Zeichen aus: [ 38 / 39 / 2B / 2F ] [ 5 ] | 43 47 118 und ein Zeichen aus: [ 56 / 57 / 43 / 47 ] | +/v und ein Zeichen aus: [ 8 / 9 / + / / ] |
| UTF-1 | F7 64 4C | 247 100 76 | ÷dL |
| UTF-EBCDIC | DD 73 66 73 | 221 115 102 115 | Ýsfs |
| SCSU | 0E FE FF (von anderen möglichen Bytefolgen wird abgeraten) [ 6 ] | 14 254 255 | ␎þÿ |
| BOCU-1 | FB EE 28 optional gefolgt von FF [ 7 ] | 251 238 40 optional gefolgt von 255 | ûî( optional gefolgt von ÿ |
| GB 18030 | 84 31 95 33 | 132 49 149 51 | „1•3 |
`t

>>Siehe auch

• `F33f`_`[Magische Zahl (Informatik)`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Magische_Zahl_(Informatik)]`_`f

>>Weblinks

• The Unicode Standard, chapter 2.6 `*Encoding Schemes`*. (PDF; 1,1 MB) unicode.org (englisch).
• The Unicode Standard, chapter 2.13 `*Special Characters and Noncharacters`*, section `*Byte Order Mark (BOM)`*. (PDF; 1,1 MB) unicode.org (englisch).
• The Unicode Standard, chapter 16.8 `*Specials`*, section `*Byte Order Mark (BOM): U+FEFF`*. (PDF; 415 kB) unicode.org (englisch).
• Unicode FAQ: `*UTF-8, UTF-16, UTF-32 & BOM`*. unicode.org (englisch).

>>Einzelnachweise

`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f `*Bug Database.`* Abgerufen am 22. Februar 2024.
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `*33415 – Can’t compile .cpp file with UTF-8 BOM.`* Abgerufen am 21. März 2022.
`:cite-note-3`!3.`! `F0af`_`[↑`#cite-ref-3]`_`f `*PHP :: Request #22108 :: php doesn’t ignore the utf-8 BOM.`* Abgerufen am 21. März 2022.
`:cite-note-4`!1.`! `*`F33f`_`[RFC`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Request_for_Comments]`_`f: 3629`* – `*UTF-8, a transformation format of ISO 10646`*. November 2003, Abschnitt 6: `*Byte order mark (BOM)`*. – Standard: [STD 63] (englisch).
`:cite-note-5`!2.`! Nur die höchstwertigen 6 Bits des vierten Byte. Die untersten beiden Bits sind von dem nachfolgenden Zeichen bestimmt
`:cite-note-6`!3.`! `*UTS #6: Compression Scheme for Unicode.`* Abgerufen am 21. März 2022.
`:cite-note-7`!4.`! `*UTN #6: BOCU-1.`* Abgerufen am 21. März 2022.

`c`F0af`_`[↑ Back to top`#top]`_`f`a